Various mechanisms exist to allow computers and executing software applications to programmatically interact. For example, remote procedure call (“RPC”) protocols have long existed that allow a program on one computer to cause a program on another computer to be executed, and various object-oriented architectures such as CORBA (“Common Object Request Broker Architecture”), DCOM (“Distributed Component Object Model”), Java RMI (“Remote Method Invocation”), JavaSpaces, Jini, JXTA, and UPnP (“Universal Plug-n-Play”) provide similar capabilities. In addition, a variety of middleware programs have been implemented to connect separate applications (often of distinct types and from unrelated sources) to allow communication. For example, various EDI (“Electronic Data Interchange”) networks exist that provide standard various EDI (“Electronic Data Interchange”) networks exist that provide standard mechanisms to allow a computer system of one user of the network to send data to a computer system of another user of the network.
The widespread popularity of the World Wide Web (“Web”) has provided additional opportunities for computers to inter-communicate and for users to obtain various capabilities. For example, much current Web use involves users interactively requesting Web pages from Web servers (e.g., via executing Web browser applications of the users) and receiving the requested information in response. Such Web use has increasingly provided a medium for users to engage in shopping and other commerce-related transactions, such as to allow users to search for and order items (such as products, services and/or information) that are available for purchase, rent, lease, license, trade, evaluation, sampling, subscription to, etc. In many circumstances, a user can visit the Web site of a Web merchant or retailer (also referred to as a “Web store”) or other online or electronic marketplace that sells one or more items, and can view information about the items, give an instruction to place an order for one or more items, and provide information needed to complete the purchase (e.g., payment and shipping information). The Web merchant then fulfills the order by providing the ordered items to the indicated recipient, such as by providing product items that have been ordered through physical distribution channels (e.g., shipment via a governmental postal service or private common carrier) or electronically (e.g., via download over the Internet, such as for digital music or videos) as appropriate. Ordered service items may similarly be provided electronically (e.g., providing email service) or physically (e.g., performing cleaning services at the purchaser's house).
In addition to such interactive user specification of requested information, there is also growing use of the Web to support the programmatic interaction of remote applications to exchange information via defined APIs (“application program interfaces”), such as via Web services. Web services allow heterogeneous applications and computers to interact, and can be defined and implemented using a variety of underlying protocols and techniques. For example, some Web service implementations return data in computer-readable XML (“eXtensible Markup Language”) format using HTTP (“HyperText Transport Protocol”) in response to a Web service invocation request specified as a URI (“Uniform Resource Identifier”), such as a URL (“Uniform Resource Locator”) that includes a specified operation and one or more query parameters. In other implementations, additional underlying protocols are used for various purposes, such as SOAP (“Simple Object Access Protocol”) for standard message exchange, WSDL (“Web Services Description Language”) for description of service invocation interfaces (e.g., using XML format), and UDDI (“Universal Description, Discovery, and Integration service”) for discovery of available services.
Although the Web allows users to engage in shopping and other commerce-related transactions involving the exchange of monetary payments, a variety of problems related to making such payments exist. For example, although using credit cards to make payments provides some benefits to purchasers (e.g., refunds for at least some unauthorized charges, such as when a credit card number is stolen), various drawbacks exist to credit card use, such as that many purchasers do not have credit cards (or available credit on their credit cards), many sellers do not accept credit cards, and the fees charged by credit card companies can be problematic (e.g., transaction-based fees charged to sellers). In at least some circumstances, debit-based payments via electronic funds transfer (“EFT”) from a financial account of the purchaser (e.g., payments from a purchaser's bank account using the ACH, or “Automated Clearing House,” system) may have advantages over credit card use (e.g., lower fees, greater availability to purchasers, and/or greater acceptance by sellers), but purchasers may have less protection from fraudulent activity on their accounts than from credit card use, and may be reluctant to provide the necessary account-related details to a seller to enable the EFT. Moreover, other types of payments have other drawbacks, such as the increased risk to the seller that arises for payments scheduled to occur after delivery of purchased items (e.g., based on invoicing the purchaser), and delays and risks in using paper bank checks (e.g., delays in obtaining a check from a purchaser and in verifying the corresponding availability of funds, and risks that sufficient funds are not available).